0
1
00:00:01,870 --> 00:00:02,650
All right.
1

2
00:00:02,680 --> 00:00:06,730
Let's get started by tackling a big topic.
2

3
00:00:06,730 --> 00:00:09,770
What exactly is machine learning,
3

4
00:00:09,940 --> 00:00:16,430
and why is it important? Every day when you open the newspaper or your favorite blog,
4

5
00:00:16,450 --> 00:00:18,910
you see this word everywhere.
5

6
00:00:18,910 --> 00:00:25,630
Machine learning, machine learning, machine learning, but nobody really explained to me what exactly is
6

7
00:00:25,630 --> 00:00:32,590
the significance of this thing and why we should all care. The first time I really understood this,
7

8
00:00:32,590 --> 00:00:33,890
it was huge,
8

9
00:00:34,030 --> 00:00:38,900
and I'm going to try and explain it right here in less than five minutes.
9

10
00:00:38,950 --> 00:00:42,140
OK let's start the clock. To start,
10

11
00:00:42,150 --> 00:00:47,310
we have to look back at the history of the computer. The development of the computer started with one
11

12
00:00:47,310 --> 00:00:48,710
human urge.
12

13
00:00:48,720 --> 00:00:51,360
It's not a desire for understanding the universe.
13

14
00:00:51,360 --> 00:00:56,490
It's not from wanting to further the frontiers of science and it's not even because we wanted to organize
14

15
00:00:56,490 --> 00:00:58,120
the world's information.
15

16
00:00:58,200 --> 00:01:04,350
Computers exist because some guy, let's call him Bob, decided that he wanted to spend more time chilling
16

17
00:01:04,350 --> 00:01:06,850
at home rather than working hard.
17

18
00:01:06,960 --> 00:01:11,380
The fundamental urge that drives any programmer is laziness.
18

19
00:01:11,460 --> 00:01:19,000
And we invented various forms of computing so that we can work less and spend more time watching Netflix.
19

20
00:01:19,040 --> 00:01:25,490
The first thing that could be considered remotely close to a computer was the abacus. Now ignoring the
20

21
00:01:25,490 --> 00:01:31,190
racy picture, the abacus is useful because it helped us calculate and keep track of the steps in our
21

22
00:01:31,190 --> 00:01:32,110
calculations.
22

23
00:01:32,540 --> 00:01:38,760
But this still required us to know the times tables and we programmers were too lazy for that.
23

24
00:01:38,780 --> 00:01:40,730
So we built a calculator.
24

25
00:01:40,730 --> 00:01:46,160
Well there are quite a few steps in between some code breaking and a lot of movie fodder but essentially
25

26
00:01:46,220 --> 00:01:47,300
we are here.
26

27
00:01:47,330 --> 00:01:52,100
We figured out transistors and we could use them to perform logical tasks.
27

28
00:01:52,100 --> 00:01:58,220
So we now had something that could be vaguely programmed. Just replace the Apple logo with Texas Instruments
28

29
00:01:58,220 --> 00:02:01,390
and you're basically looking at the hype around the calculator.
29

30
00:02:01,850 --> 00:02:07,010
But we obviously wanted to be even lazier and that required our computers to do more.
30

31
00:02:07,280 --> 00:02:09,320
So we invented programming languages.
31

32
00:02:09,320 --> 00:02:13,160
We got rid of ticker tapes and started using CRT screens.
32

33
00:02:13,190 --> 00:02:20,060
We were able to use a vaguely human readable language like Fortran or COBOL and converted into ones
33

34
00:02:20,060 --> 00:02:25,560
and zeros that the computer could understand. Our programs could now be executed by the computer,
34

35
00:02:25,670 --> 00:02:31,160
one line at a time. If we told it to go left, it wouldn't dare to go right.
35

36
00:02:31,160 --> 00:02:36,440
We specified the conditions and based on those conditions, the computer checked to see what it should
36

37
00:02:36,440 --> 00:02:37,660
do.
37

38
00:02:37,760 --> 00:02:42,550
So now we can play games, send email and use Excel instead of an abacus.
38

39
00:02:42,590 --> 00:02:48,230
But what if we could get the computer to do even more of our work? Work that we previously thought could
39

40
00:02:48,320 --> 00:02:52,820
only be done by humans, like buying gifts for your husband or your wife.
40

41
00:02:53,130 --> 00:02:54,500
Okay, just kidding.
41

42
00:02:54,500 --> 00:03:00,510
We're not quite there yet, but what about things like identifying the unripe fruit from our farm?
42

43
00:03:00,590 --> 00:03:06,380
What would you tell the computer? What would your program look like? If object color is red then keep
43

44
00:03:06,380 --> 00:03:07,200
it.
44

45
00:03:07,340 --> 00:03:11,990
What if next week it's chili harvesting time and you only want to keep the green ones?
45

46
00:03:11,990 --> 00:03:14,750
Well, I guess you'd have to rewrite your code.
46

47
00:03:14,960 --> 00:03:19,590
Wouldn't it be great if we could actually teach the computer what a tomato is?
47

48
00:03:19,610 --> 00:03:26,580
Maybe we could refine our program. If something is round, red and around 100 grams,
48

49
00:03:26,670 --> 00:03:29,820
it's probably a tomato. Problem - 
49

50
00:03:30,300 --> 00:03:31,720
it's more subtle than that.
50

51
00:03:31,740 --> 00:03:37,340
You wouldn't tell your kids that everything red, round and 100 grams is edible, would you?
51

52
00:03:37,350 --> 00:03:38,640
So, how do kids learn?
52

53
00:03:38,640 --> 00:03:43,290
Maybe we'd have to show them lots of examples of tomatoes. Tomatoes from different angles.
53

54
00:03:43,330 --> 00:03:44,820
Tomatoes of different sizes.
54

55
00:03:44,880 --> 00:03:46,590
Tomatoes of different shapes.
55

56
00:03:46,590 --> 00:03:48,780
Now we're getting close to machine learning.
56

57
00:03:48,780 --> 00:03:55,230
It's similar to kids learning, but with machines. In the previous example of teaching kids to classify
57

58
00:03:55,230 --> 00:04:01,770
tomatoes, we gave them lots of different examples and taught them that they are each a tomato, even if
58

59
00:04:01,770 --> 00:04:03,160
they might look different.
59

60
00:04:03,510 --> 00:04:09,720
When we do the same thing for our computers, it's called supervised learning. By providing labeled training
60

61
00:04:09,720 --> 00:04:14,550
data we can slowly teach our computers what a tomato is.
61

62
00:04:14,610 --> 00:04:19,980
And once we have a trained machine learning model that knows what a ripe tomato looks like, then we can
62

63
00:04:19,980 --> 00:04:26,820
do this. And teaching computers is way more fun than teaching kids, because even if you teach your kid
63

64
00:04:26,820 --> 00:04:33,630
what a tomato is, they won't work on your farm 24/7 sorting your tomatoes, but your machine learning model
64

65
00:04:33,630 --> 00:04:34,530
will.
65

66
00:04:34,560 --> 00:04:38,040
So I hope you're now as excited as I am about machine learning.
